Title Banner

Previous Book Contents Book Index Next

Inside Macintosh: QuickDraw GX Graphics /
Chapter 2 - Geometric Shapes


Summary of Geometric Shapes

Constants and Data Types

The Point Structure

struct gxPoint {
   Fixed    x;
   Fixed    y;
};

The Line Structure

struct gxLine {
   struct gxPoint first;
   struct gxPoint last;
};

The Curve Structure

struct gxCurve {
   struct gxPoint first;
   struct gxPoint control;
   struct gxPoint last;
};

The Rectangle Structure

struct gxRectangle {
   Fixed    left;
   Fixed    top;
   Fixed    right;
   Fixed    bottom;
};

Polygon Structures

struct gxPolygon {
   long           vectors;
   struct gxPoint vector[gxAnyNumber];
};
struct gxPolygons {
   long             contours;
   struct gxPolygon contour[gxAnyNumber];
};

Path Structures

struct gxPath {
   long           vectors;
   long           controlBits[gxAnyNumber];
   struct gxPoint vector[gxAnyNumber];
};
struct gxPaths {
   long          contours;
   struct gxPath contour[gxAnyNumber];
};

Functions

Creating Geometric Shapes

gxShape GXNewPoint		(const gxPoint *data);
gxShape GXNewLine		(const gxLine *data);
gxShape GXNewCurve		(const gxCurve *data);
gxShape GXNewRectangle		(const gxRectangle *data);
gxShape GXNewPolygons		(const gxPolygons *data);
gxShape GXNewPaths		(const gxPaths *data);

Getting and Setting Shape Geometries

gxPoint *GXGetPoint		(gxShape source, gxPoint *data);
void GXSetPoint			(gxShape target, const gxPoint *data);
gxLine *GXGetLine		(gxShape source, gxLine *data);
void GXSetLine			(gxShape target, const gxLine *data);
gxCurve *GXGetCurve		(gxShape source, gxCurve *data);
void GXSetCurve			(gxShape target, const gxCurve *data);
gxRectangle *GXGetRectangle
				(gxShape source, gxRectangle *data);
void GXSetRectangle		(gxShape target, const gxRectangle *data);
long GXGetPolygons		(gxShape source, gxPolygons *data);
void GXSetPolygons		(gxShape target, const gxPolygons *data);
long GXGetPaths			(gxShape source, gxPaths *data);
void GXSetPaths			(gxShape target, const gxPaths *data);

Editing Shape Geometries

long GXCountShapeContours	(gxShape source);
long GXCountShapePoints		(gxShape source, long contour);
long GXGetShapeIndex		(gxShape source, long contour, long vector);
long GXGetShapePoints		(gxShape source, long index, long count, 
				gxPoint data[]);
void GXSetShapePoints		(gxShape target, long index, long count, 
				const gxPoint data[]);
long GXGetPolygonParts		(gxShape source, long index, long count,
				gxPolygons *data);
void GXSetPolygonParts		(gxShape target, long index, long count, 
				const gxPolygons *data, 
				gxEditShapeFlag flags);
long GXGetPathParts		(gxShape source, long index, long count, 
				gxPaths *data);
void GXSetPathParts		(gxShape target, long index, long count, 
				const gxPaths *data, gxEditShapeFlag flags);
gxShape GXGetShapeParts		(gxShape source, long index, long count, 
				gxShape destination);
void GXSetShapeParts		(gxShape target, long index, long count, 
				gxShape insert, gxEditShapeFlag flags);

Drawing Geometric Shapes

void GXDrawPoint		(const gxPoint *data);
void GXDrawLine			(const gxLine *data);
void GXDrawCurve		(const gxCurve *data);
void GXDrawRectangle		(const gxRectangle *data, gxShapeFill fill);
void GXDrawPolygons		(const gxPolygons *data, gxShapeFill fill);
void GXDrawPaths		(const gxPaths *data, gxShapeFill fill);


Previous Book Contents Book Index Next

© Apple Computer, Inc.
7 JUL 1996




Navigation graphic, see text links

Main | Page One | What's New | Apple Computer, Inc. | Find It | Contact Us | Help